package br.com.gp.gerentes;

import java.util.List;

import br.com.gp.excecoes.ExceptionApplication;
import br.com.gp.excecoes.ExceptionValidador;

public interface GerentePadrao {
	
	public void incluir(Object obj) throws ExceptionApplication,ExceptionValidador;
	
	public abstract void alterar (Object obj)  throws ExceptionApplication,ExceptionValidador ;
	
	public abstract void deletar (Object obj) throws  ExceptionApplication;
	
	@SuppressWarnings("rawtypes")
	public abstract List obterListaEntidade(Class classe,Object obj)  throws ExceptionApplication;
	
	@SuppressWarnings("rawtypes")
	public abstract List obterListaEntidade(Class classe,Object obj,String ordenador)  throws ExceptionApplication;
	
	@SuppressWarnings("rawtypes")
	public abstract List obterListaEntidade(Class classe,Object obj,Integer quantMaxResult)  throws ExceptionApplication;
	
	@SuppressWarnings("rawtypes")
	public abstract List obterListaEntidade(Class classe,Object obj,String ordenador,Integer quantMaxResult)  throws ExceptionApplication;
	
	@SuppressWarnings("rawtypes")
	public abstract Object obterEntidadeForId(Class obj,Integer id) throws ExceptionApplication;
	
}
